草庐IT

Android GoogleMap 或 SupportMapFragment - 空指针异常

全部标签

c#异常处理,实际例子。你会怎么做?

我正在尝试更好地处理异常,但我觉得当我尽我最大努力捕捉它们时,我的代码变得非常丑陋、不可读和困惑。我很想看看其他人如何通过提供实际示例和比较解决方案来解决这个问题。我的示例方法从URL下载数据并尝试将其序列化为给定类型,然后返回一个填充了数据的实例。首先,完全没有任何异常处理:privatestaticTLoadAndSerialize(stringurl){varuri=newUri(url);varrequest=WebRequest.Create(uri);varresponse=request.GetResponse();varstream=response.GetRespon

c# - 内部异常的单元测试

我正在使用VisualStudio的集成框架编写一些单元测试。我需要编写一些测试用例,这些用例在抛出适当的异常时通过。问题是我需要测试的异常是嵌套在更一般的异常中的内部异常。是否有一些简单的解决方案,或者我是否需要扩展整个功能。我目前正在使用[ExpectedException]属性,但在这种情况下它不会有太大用处。我也很好奇当我们使用[ExpectedException]时会发生什么,同时我们在测试本身中也有一些Assert逻辑。条件是否被评估(抛出异常并且Assert语句被证明是有效的)或测试是否在抛出正确的异常后立即通过? 最佳答案

c# - 什么更好/更快? try catch 或避免异常?

我想知道,在通用编程中什么更好或/和更快?避免异常还是等待异常?避免异常是:stringa=null;list=someMethod();if(list.Length>0){a=list[0];}if(a!=null)...或者trycatch异常...stringa=null;try{a=someMethod()[0];catch{}if(a!=null)... 最佳答案 性能并不是这里最相关的问题。问题是,两者中的哪一个会导致程序更具可读性/可维护性/可测试性。您可以稍后再担心性能。一般来说,不要使用异常来进行流量控制。它们实际

c# - 获取特定异常的名称

这是在C#中获取特定异常名称的最佳方法吗:ex.GetType().ToString()它在一个通用的异常处理程序中:catch(Exceptionex) 最佳答案 ex.GetType().Name或ex.GetType().FullName用于完全限定名称。 关于c#-获取特定异常的名称,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/41293532/

c# - 如何在文件中记录异常?

我希望能够在每个catchblock中进行日志记录。像这样。catch(Exceptionexception){Logger.Write(exception);}然后配置中的设置将使用客户监听器获取Message和StackTrace属性等。我想使用EnterpriseLibraryLoggingApplicationBlock。我敢肯定有人已经这样做了。 最佳答案 其他人已经发布了一些关于让日志应用程序block(LAB)工作的很好的链接,所以我不会在这里重复。在格式化您的异常方面,您有3个我能想到的选择:使用默认值Excepti

c# - 在 async/await 中正确处理 HttpClient 异常

我希望有人能就我在使用HttpClient进行异步/等待异常处理方面面临的问题给我一些启发。我已经编写了一些代码来说明,它正在WindowsPhone8设备和模拟器上执行:privateasyncvoidSearchButton_Click(objectsender,EventArgse){try{HttpClientclient=newHttpClient();System.Diagnostics.Debug.WriteLine("BEGINFAULTYREQUEST:");stringresponse=awaitclient.GetStringAsync("http://www.a

c# - XML 异常 : Invalid Character(s)

我正在开发一个小项目,该项目从一个长期运行的应用程序接收字符串形式的XML数据。我正在尝试将此字符串数据加载到XDocument(System.Xml.Linq.XDocument)中,然后从那里执行一些XMLMagic并为报告数据。有时,我收到包含无效XML字符的数据,并且在尝试将字符串解析为XDocument时,我收到此错误。[System.Xml.XmlException]Message:'?',hexadecimalvalue0x1C,isaninvalidcharacter.由于我无法控制远程应用程序,因此您可以期待任何类型的字符。我很清楚XML有一种方法可以将字符放入其中,

c# - 打开SQL连接时算术溢出异常

当打开与底层SQL数据库的SQL连接时,我遇到了非常奇怪的ArithmeticOverflowException(下面包含堆栈跟踪)。使用哪个版本的服务器没有区别(我已经验证了MSSQL2005/2008/2012/2014),错误仍然是一样的。安装了来自WindowsUpdate的所有最新更新和补丁。操作系统是Windows8.1/10(两个系统上都一样)。服务器安装在本地,通过用户名和密码建立连接。验证的连接超时范围为15到1000秒。最令人惊讶的是应用程序运行正常,并与服务器正常通信,执行许多各种查询,但突然出现此异常。我注意到这个异常在一些Windows更新后开始出现(不知道是

c# - 为什么我得到异常 : Too many automatic redirections were attempted on webclient?

在form1的顶部我做了:WebClientClient;然后在构造函数中:Client=newWebClient();Client.DownloadFileCompleted+=Client_DownloadFileCompleted;Client.DownloadProgressChanged+=Client_DownloadProgressChanged;然后我每分钟都会调用这个方法:privatevoidfileDownloadRadar(){if(Client.IsBusy==true){Client.CancelAsync();}else{Client.DownloadPr

c# - 在任务异常的情况下,根据用户输入多次重试任务

我的应用程序中的所有服务调用都是作为任务实现的。当任务出现故障时,我需要向用户显示一个对话框以重试上次失败的操作。如果用户选择重试,程序应该重试该任务,否则程序的执行应该在记录异常后继续。任何人都对如何实现此功能有一个高层次的想法? 最佳答案 2017年5月更新C#6异常过滤器使catch子句更加简单:privatestaticasyncTaskRetry(Funcfunc,intretryCount){while(true){try{varresult=awaitTask.Run(func);returnresult;}catch